package com.inspur.dgov.bsp.application.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.inspur.dgov.bsp.application.entity.PubRole;
import com.inspur.dgov.common.tool.node.TreeNode;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 树结构Mapper接口
 *
 * @Author chiyupei
 * @Date 19 下午8:15
 * @Version 1.0
 * @Description 树结构Mapper接口
 */
public interface TreeMapper extends BaseMapper<TreeNode> {

    /**
     * 父级资源
     *
     * @return
     */
    List<TreeNode> resourceParent(@Param("query") Map<String, Object> param);

    /**
     * 父级角色
     *
     * @return
     */
    List<TreeNode> roleParent(@Param("query") Map<String, Object> param);

    /**
     * 授权资源
     *
     * @return
     */
    List<TreeNode> grantResource();

    /**
     * 根据角色获取授权资源
     *
     * @return
     */
    List<TreeNode> grantResourceByRole(@Param("list") List<String> list);

    /**
     * 授权角色
     *
     * @return
     */
    List<TreeNode> grantRole(PubRole role);
}
